package com.company.administratormodule.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
 * The persistent class for the topico database table.
 * 
 */
@Entity
@Table(name="topico")
public class Topico implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(unique=true, nullable=false, length=45)
	private String nombre;

    @Lob()
	private String descripcion;

    @Lob()
	private String tema;

	//bi-directional many-to-one association to Prueba
	@OneToMany(mappedBy="topico", fetch=FetchType.EAGER)
	private Set<Prueba> pruebas;

	//bi-directional many-to-many association to Tarjeta
	@ManyToMany(fetch=FetchType.EAGER)
	@JoinTable(
		name="tarjeta_topico"
		, joinColumns={
			@JoinColumn(name="idTopico", nullable=false),
			}
		, inverseJoinColumns={
			@JoinColumn(name="idTarjeta", nullable=false),
			}
		)
	private Set<Tarjeta> tarjetas;

    public Topico() {
    }

	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public String getTema() {
		return this.tema;
	}

	public void setTema(String tema) {
		this.tema = tema;
	}

	public Set<Prueba> getPruebas() {
		return this.pruebas;
	}

	public void setPruebas(Set<Prueba> pruebas) {
		this.pruebas = pruebas;
	}
	
	public Set<Tarjeta> getTarjetas() {
		return this.tarjetas;
	}

	public void setTarjetas(Set<Tarjeta> tarjetas) {
		this.tarjetas = tarjetas;
	}
	
}